package com.plian.system.entity.yth.dp;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.NullSerializer;
import com.plian.system.entity.yth.YthBaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.time.LocalDate;

/**
 * 禁入人员限制信息主表实体类
 *
 * @author zke
 * @since 2023-03-08
 */
@Data
@TableName("collection_limit_personnel_report")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "LimitPersonnelReport对象", description = "禁入人员限制信息主表")
public class LimitPersonnelReport extends YthBaseEntity implements Serializable {

private static final long serialVersionUID = 1L;

        /**
     * 禁入限制人员姓名
     */
    @ApiModelProperty(value = "禁入限制人员姓名")
    private String limitPerson;
    /**
     * 禁入限制原因
     */
    @ApiModelProperty(value = "禁入限制原因")
    private String limitReason;
    /**
     * 受限时限
     */
    @ApiModelProperty(value = "受限时限")
    private LocalDate limitTime;
    /**
     * 是否为本企业人员
     */
    @ApiModelProperty(value = "是否为本企业人员")
    @JsonSerialize(nullsUsing = NullSerializer.class)
    private Integer isEnterprisePerson;
    /**
     * 证件类型
     */
    @ApiModelProperty(value = "证件类型")
    @JsonSerialize(nullsUsing = NullSerializer.class)
    private Byte documentType;
    /**
     * 证件号
     */
    @ApiModelProperty(value = "证件号")
    private String documentNumber;
    /**
     * 性别
     */
    @ApiModelProperty(value = "性别")
    @JsonSerialize(nullsUsing = NullSerializer.class)
    private Byte sex;
    /**
     * 出生日期
     */
    @ApiModelProperty(value = "出生日期")
    private LocalDate birthday;
    /**
     * 民族
     */
    @ApiModelProperty(value = "民族")
    @JsonSerialize(nullsUsing = NullSerializer.class)
    private Byte nation;
    /**
     * 政治面貌
     */
    @ApiModelProperty(value = "政治面貌")
    @JsonSerialize(nullsUsing = NullSerializer.class)
    private Byte politicalStatus;
    /**
     * 国籍
     */
    @ApiModelProperty(value = "国籍")
    @JsonSerialize(nullsUsing = NullSerializer.class)
    private Byte nationality;
    /**
     * 籍贯
     */
    @ApiModelProperty(value = "籍贯")
    private String nativePlace;
    /**
     * 户籍所在地
     */
    @ApiModelProperty(value = "户籍所在地")
    private String domicile;
    /**
     * 婚姻状态
     */
    @ApiModelProperty(value = "婚姻状态")
    @JsonSerialize(nullsUsing = NullSerializer.class)
    private Byte maritalStatus;
    /**
     * 健康状态
     */
    @ApiModelProperty(value = "健康状态")
    @JsonSerialize(nullsUsing = NullSerializer.class)
    private Byte healthStatus;
    /**
     * 单位名称
     */
    @ApiModelProperty(value = "单位名称")
    private String unitName;
    /**
     * 最高学历
     */
    @ApiModelProperty(value = "最高学历")
    @JsonSerialize(nullsUsing = NullSerializer.class)
    private Byte highestEducation;
    /**
     * 最高学位
     */
    @ApiModelProperty(value = "最高学位")
    @JsonSerialize(nullsUsing = NullSerializer.class)
    private Byte highestDegree;
    /**
     * 专业技术职务
     */
    @ApiModelProperty(value = "专业技术职务")
    private String professionalTechnicalService;
    /**
     * 职业资格
     */
    @ApiModelProperty(value = "职业资格")
    private String vocationalQualification;
    /**
     * 参加工作时间
     */
    @ApiModelProperty(value = "参加工作时间")
    private LocalDate workingDate;
    /**
     * 联系电话
     */
    @ApiModelProperty(value = "联系电话")
    private String contactNumber;
    /**
     * 电子邮箱
     */
    @ApiModelProperty(value = "电子邮箱")
    private String email;
    /**
     * 工作电话
     */
    @ApiModelProperty(value = "工作电话")
    private String workTelephone;
    /**
     * 审核状态
     */
    @ApiModelProperty(value = "审核状态")
    @JsonSerialize(nullsUsing = NullSerializer.class)
    private Byte auditStatus;
    /**
     * 当前流程id
     */
    @ApiModelProperty(value = "当前流程id")
    private String processInstanceId;
    /**
     * 当前流程状态id
     */
    @ApiModelProperty(value = "当前流程状态id")
    @JsonSerialize(nullsUsing = NullSerializer.class)
    private Long processStatusId;
    /**
     * 是否生效（完整流程已通过）
     */
    @ApiModelProperty(value = "是否生效（完整流程已通过）")
    @JsonSerialize(nullsUsing = NullSerializer.class)
    private Integer isEnabled;
    /**
     * 填报日期
     */
    @ApiModelProperty(value = "填报日期")
    private LocalDate reportTime;
    /**
     * 填报组织id
     */
    @ApiModelProperty(value = "填报组织id")
    @JsonSerialize(nullsUsing = NullSerializer.class)
    private Long reportOrgId;
    /**
     * 填报组织名称
     */
    @ApiModelProperty(value = "填报组织名称")
    private String reportOrgName;
    /**
     * 填报人员id
     */
    @ApiModelProperty(value = "填报人员id")
    @JsonSerialize(nullsUsing = NullSerializer.class)
    private Long reportUserId;
    /**
     * 填报人员名称
     */
    @ApiModelProperty(value = "填报人员名称")
    private String reportUserName;


}
